package com.vote.business.service;

import com.vote.business.domain.vo.*;

import java.util.List;

public interface IVoteDashboardService {
    /**
     * 计算核心统计指标
     * @return 包含总活动数、较昨日变化等数据的Map
     */
   public CalculateCoreVO calculateCoreStats();

    /**
     * 获取进行中活动统计数据
     */
    public OngoingVoteVO getOngoingVoteStats() ;


    /**
     * 计算总参与人次及较上周变化率
     */
    public TotalParticipationVO getTotalParticipation();

    /**
     * 热门活动TOP1（票数最高的活动）
     * @return
     */
    public HotVoteTopVO selectHotVoteTop1();

    /**
     * 活动状态分布
     * @return
     */
    public List<VoteStatusVO> getVoteStatusDistribution();

    /**
     * 热门活动TOP5
     * @return
     */
    public  List<HotVoteTopVO> selectHotVoteTop5();


    /**
     * 近30天活动创建趋势
     * @return
     */
    public List<VoteTrendVO> getVoteCreateTrend30d();

    /***
     * 重点活动选项比例
     * @return
     */
    public List<VoteOptionRatioVO> getVoteOptionRatio(Long voteId);
}
